package com.augurit.smartform.display;

import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.augurit.smartform.constant.TypeConstant;
import com.augurit.smartform.display.gis.MainPaneParser;
import com.augurit.smartform.display.gis.ScaleBarParser;
import com.augurit.smartform.display.gis.ToolPanelParser;
import com.augurit.smartform.display.gis.ZoomBarParser;

@Component
public class ParserSelector {
private final Map<String,TagParser> tagParserMap=new HashMap<String,TagParser>();
	
	public ParserSelector(){
		registerTagParser(TypeConstant.GIS_MAIN_PANE, new MainPaneParser());
		registerTagParser(TypeConstant.GIS_ZOOM_BAR, new ZoomBarParser());
		registerTagParser(TypeConstant.GIS_SCALE_BAR, new ScaleBarParser());
		registerTagParser(TypeConstant.GIS_Tool_Panel, new ToolPanelParser());
	}
	
	/**
	 * 注册模板
	 * @param type
	 * @param templateName
	 */
	public void registerTagParser(String type,TagParser parser){
		this.tagParserMap.put(type, parser);
	}
	
	/**
	 * 取得模板
	 * @param type
	 * @return
	 */
	public TagParser getTagParser(String type){
		return this.tagParserMap.get(type);
	}
}
